This invention relates to the transfer of image data to an all-points-addressable printer and particularly to tessellating and quadding the image data during the transfer.
Page printers are so named because they operate by composing an entire page before printing as contrasted to line printers which print a line at a time. The advantage of page printers is that graphics, images, and data can be easily composed on a single page very quickly. Page printers are usually laser types and print one hundred or more pages per minute. Page printers can also print text and images in varying orientations, i.e., in any of the four 90-degree rotations on the page to support landscape and portrait orientations as well as duplex and tumble duplex.
Storing all the text font and image data for each of the four possible orientations would require an inordinate amount of memory so logic circuits are used to rotate fonts and images to the desired orientation during data transfer using the image data arranged in quads, i.e., four-by-four arrays of pels, each pel being represented by a bit.
To compose an entire page requires a large amount of memory. At 240 pels per inch resolution, an 81/2-by-11 inch (A-size) page contains 5,385,600 pels. To compose one page while another is printing would require twice as much memory, viz., 10,771,200 bits at one bit per pel. To reduce memory requirements, printer control units are designed with only enough raster buffer memory to contain a small width or swath of pels to be printed on each page. As a page is printed, the swath is filled with pels for each successive portion of the page.
The swath is composed in a raster buffer, so named because the laser printhead causes the page to be printed in raster fashion. Whenever an image is larger than the swath width, the image must be subdivided into rectangular tiles that will fit in the swath buffer. (This subdivision is called tessellation.)
In accordance with the invention, a page printer controller uses a memory to store pels representing an image to be printed. The memory has an input addressing circuit that generates a series of locations in the memory where data is to be stored so as to tessellate images that are too large to be stored in the memory at one time. There is also an output addressing circuit that generates a series of locations in the memory so as to read out the pels of the image in quad format.
By performing the tessellation and quadding operations in-line with image transfer, the number of times the image data must be moved is minimized, image processing speed is increased, and processor intervention is eliminated.